<求教>virtual一般用在哪里?

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:07:45
c++里哪些内容可以用virtual呢?(数据,函数,类,对象...)

有什么用啊?

只有类成员函数可以virtual

class A
{
virtual void f() {}
};

用来定义虚成员函数。虚成员函数可以被子类重载。子类对象即便作为父类对象使用使用虚函数的话,被调用的还是子类中定义的。如果不是虚函数则被调用的会是父类中定义的。

在类里用,是有继承关系的类
举个例子你一定就明白了
#include <iostream.h>

class A
{
public:
virtual void print(){cout << "A"; }
};
class B:public A
{
public:
virtual void print(){cout << "B"; }
};

int main()
{
A *p = new A;
p->print();
p = new B;
p->print();
}

然后你用不是virtual函数会惊奇的发现差异的